Instant messaging (IM) is a form of communication that offers an instantaneous transmission of text-based messages over the Internet. Features offered by many instant messaging systems may include voice or video calling, video chat, inclusion of hyperlinks to media, ability to multicast communications to multiple recipients.
IM systems may utilize presence servers. A presence server allows a user to maintain a presence subscription to an associated Instant Messaging Server, which will provide up-to-date information of a contact in a user's buddy list. Examples of information provided by the presence server include notifications in changes in status of contacts of a buddy list (e.g. on-line, offline away from desk, Do-Not-Disturb).
The status of contacts of a buddy list (e.g., status indicator) may be facilitated through a regular or clocked communication between the IM application of a client and the presence server, to exchange information on the presence information for that user's buddy list. The communication is usually configurable by the administrator for performance reasons. Large numbers of users of an IM system polling for status updates of all contacts in their buddy lists may have a greatly negative impact on performance. For example, 5,000 users who each have 500 buddies may represent a penalty of 2,500,000 subscription updates that the presence server has to maintain.